home *** CD-ROM | disk | FTP | other *** search
/ DS-CD ROM 2 1993 August / DS CD-ROM 2.Ausgabe (August 1993).iso / programm / ds0257 / demo.exe / MKDEMOS.BAT < prev    next >
DOS Batch File  |  1992-02-24  |  9KB  |  301 lines

  1. @ECHO OFF
  2. REM Testen, ob wir das Glück haben unter 4DOS 3+ zu laufen ...
  3. SET c=
  4. IF NOT %@eval[2+2]. == 4. GOTO No4DOS
  5. REM 4DOS geladen, merken und auf BTM umschalten
  6. LOADBTM ON
  7. SET c=4DOS
  8. :No4DOS
  9. IF %1. == ?. GOTO Help
  10. CLS
  11. ECHO.             ┌─────────────────────────────────────────────────┐
  12. ECHO.             │ Batch-Datei zum erstellen der Demos aus Lib4A86 │
  13. ECHO.             └─────────────────────────────────────────────────┘
  14. ECHO.
  15. ECHO. Compiliere Quelldateien aus dem Directory (Variable: QWL): »%QWL%«
  16. ECHO. (keine Angabe  - aktuelles Directory)
  17. ECHO.
  18. ECHO. Erstelle Zieldateien im Directory (Variable: ZWL):         »%ZWL%«
  19. ECHO. (keine Angabe - aktuelles Directory)
  20. ECHO.
  21. ECHO. Inhalt der Variablen A86:    »%A86%«
  22. ECHO. (falls deklariert muß diese Variable den Dateinamen MACROS.MAC enthalten!)
  23. ECHO.
  24. ECHO. Inhalt der Variablen A86LIB: »%A86LIB%«
  25. ECHO. (über diese Variable müssen die .LIB-Dateien erreichbar sein!)
  26. ECHO.
  27. ECHO. Der A86 muß im aktuellen Diretory sein oder über die Variable PATH
  28. ECHO. erreichbar sein!
  29. ECHO.
  30. ECHO. Ein Hilfstext über die Aufrufsyntax von MKDEMOS ist über den Aufruf
  31. ECHO. 'MKDEMOS ? (RETURN)' abrufbar.
  32. ECHO.
  33. IF NOT %1. == . GOTO SKIP
  34. ECHO. Stimmen die Variablen? Bitte eine Taste drücken (CTRL-C) für Abbruch ...
  35. PAUSE >NUL
  36. :SKIP
  37.  
  38. REM Macro-Datei nur mit angegeben, falls sie nicht in der Variable A86 definiert ist.
  39. SET d=MACROS.MAC
  40. IF NOT "%d%" == "MACROS.MAC" GOTO EnvFehler
  41. IF NOT "%A86%" == "" SET d=
  42. SET w=
  43. IF NOT %1. == . GOTO START
  44. SET w=ALL
  45. IF NOT %w%. == ALL. GOTO EnvFehler
  46. GOTO START
  47.  
  48. :START
  49. SET f=xxxxxxxxx
  50. IF NOT %f%. == xxxxxxxxx. GOTO EnvFehler
  51.  
  52. :LOOP
  53. ECHO. Suche Label ...
  54. IF %1. == . GOTO ALL
  55. IF NOT %c%. == 4DOS. GOTO %1
  56. REM Bei 4DOS können die Dateien auch mit Extension angegeben werden
  57. GOTO %@name[%1]
  58. :ALL
  59.  
  60. :BHEAP
  61. SET f=BHEAP
  62. ECHO. ********** Erstelle %ZWL%%f%.COM ...
  63. IF NOT EXIST %QWL%%f%.DEM GOTO FEHLER1
  64. A86 %d% %QWL%%f%.DEM DEMOS.INC TO %ZWL%%f%.COM
  65. IF ERRORLEVEL == 1 GOTO FEHLER
  66. IF NOT %1. == . GOTO ENDE
  67.  
  68. :DATETIME
  69. SET f=DATETIME
  70. ECHO. ********** Erstelle %ZWL%%f%.COM ...
  71. IF NOT EXIST %QWL%%f%.DEM GOTO FEHLER1
  72. A86 %d% %QWL%%f%.DEM DEMOS.INC TO %ZWL%%f%.COM
  73. IF ERRORLEVEL == 1 GOTO FEHLER
  74. IF NOT %1. == . GOTO ENDE
  75.  
  76. :DIRS
  77. SET f=DIRS
  78. ECHO. ********** Erstelle %ZWL%%f%.COM ...
  79. IF NOT EXIST %QWL%%f%.DEM GOTO FEHLER1
  80. A86 %d% %QWL%%f%.DEM DEMOS.INC TO %ZWL%%f%.COM
  81. IF ERRORLEVEL == 1 GOTO FEHLER
  82. IF NOT %1. == . GOTO ENDE
  83.  
  84. :DOSERROR
  85. SET f=DOSERROR
  86. ECHO. ********** Erstelle %ZWL%%f%.COM ...
  87. IF NOT EXIST %QWL%%f%.DEM GOTO FEHLER1
  88. A86 %d% %QWL%%f%.DEM DEMOS.INC TO %ZWL%%f%.COM
  89. IF ERRORLEVEL == 1 GOTO FEHLER
  90. IF NOT %1. == . GOTO ENDE
  91.  
  92. :ENV
  93. SET f=ENV
  94. ECHO. ********** Erstelle %ZWL%%f%.COM ...
  95. IF NOT EXIST %QWL%%f%.DEM GOTO FEHLER1
  96. A86 %d% %QWL%%f%.DEM DEMOS.INC TO %ZWL%%f%.COM
  97. IF ERRORLEVEL == 1 GOTO FEHLER
  98. IF NOT %1. == . GOTO ENDE
  99.  
  100. :EXEC
  101. SET f=EXEC
  102. ECHO. ********** Erstelle %ZWL%%f%.COM ...
  103. IF NOT EXIST %QWL%%f%.DEM GOTO FEHLER1
  104. A86 %d% %QWL%%f%.DEM DEMOS.INC TO %ZWL%%f%.COM
  105. IF ERRORLEVEL == 1 GOTO FEHLER
  106. IF NOT %1. == . GOTO ENDE
  107.  
  108. :EXTDOS
  109. SET f=EXTDOS
  110. ECHO. ********** Erstelle %ZWL%%f%.COM ...
  111. IF NOT EXIST %QWL%%f%.DEM GOTO FEHLER1
  112. A86 %d% %QWL%%f%.MAB %QWL%%f%.DEM DEMOS.INC TO %ZWL%%f%.COM
  113. IF ERRORLEVEL == 1 GOTO FEHLER
  114. IF NOT %1. == . GOTO ENDE
  115.  
  116. :FILES
  117. SET f=FILES
  118. ECHO. ********** Erstelle %ZWL%%f%.COM ...
  119. IF NOT EXIST %QWL%%f%.DEM GOTO FEHLER1
  120. A86 %d% %QWL%%f%.DEM DEMOS.INC TO %ZWL%%f%.COM
  121. IF ERRORLEVEL == 1 GOTO FEHLER
  122. IF NOT %1. == . GOTO ENDE
  123.  
  124. :KEYS
  125. SET f=KEYS
  126. ECHO. ********** Erstelle %ZWL%%f%.COM ...
  127. IF NOT EXIST %QWL%%f%.DEM GOTO FEHLER1
  128. A86 %d% %QWL%%f%.MAB %QWL%%f%.DEM DEMOS.INC TO %ZWL%%f%.COM
  129. IF ERRORLEVEL == 1 GOTO FEHLER
  130. IF NOT %1. == . GOTO ENDE
  131.  
  132. :LONGINT
  133. SET f=LONGINT
  134. ECHO. ********** Erstelle %ZWL%%f%.COM ...
  135. IF NOT EXIST %QWL%%f%.DEM GOTO FEHLER1
  136. A86 %d% %QWL%%f%.DEM DEMOS.INC TO %ZWL%%f%.COM
  137. IF ERRORLEVEL == 1 GOTO FEHLER
  138. IF NOT %1. == . GOTO ENDE
  139.  
  140. :MEMORY
  141. SET f=MEMORY
  142. ECHO. ********** Erstelle %ZWL%%f%.COM ...
  143. IF NOT EXIST %QWL%%f%.DEM GOTO FEHLER1
  144. A86 %d% %QWL%%f%.DEM DEMOS.INC TO %ZWL%%f%.COM
  145. IF ERRORLEVEL == 1 GOTO FEHLER
  146. IF NOT %1. == . GOTO ENDE
  147.  
  148. :MENGEN
  149. SET f=MENGEN
  150. ECHO. ********** Erstelle %ZWL%%f%.COM ...
  151. IF NOT EXIST %QWL%%f%.DEM GOTO FEHLER1
  152. A86 %d% %QWL%%f%.DEM DEMOS.INC TO %ZWL%%f%.COM
  153. IF ERRORLEVEL == 1 GOTO FEHLER
  154. IF NOT %1. == . GOTO ENDE
  155.  
  156. :MQUEUE
  157. SET f=MQUEUE
  158. ECHO. ********** Erstelle %ZWL%%f%.COM ...
  159. IF NOT EXIST %QWL%%f%.DEM GOTO FEHLER1
  160. A86 %d% %QWL%%f%.DEM DEMOS.INC TO %ZWL%%f%.COM
  161. IF ERRORLEVEL == 1 GOTO FEHLER
  162. IF NOT %1. == . GOTO ENDE
  163.  
  164. :MSTACK
  165. SET f=MSTACK
  166. ECHO. ********** Erstelle %ZWL%%f%.COM ...
  167. IF NOT EXIST %QWL%%f%.DEM GOTO FEHLER1
  168. A86 %d% %QWL%%f%.DEM DEMOS.INC TO %ZWL%%f%.COM
  169. IF ERRORLEVEL == 1 GOTO FEHLER
  170. IF NOT %1. == . GOTO ENDE
  171.  
  172. :QUEUES
  173. SET f=QUEUES
  174. ECHO. ********** Erstelle %ZWL%%f%.COM ...
  175. IF NOT EXIST %QWL%%f%.DEM GOTO FEHLER1
  176. A86 %d% %QWL%%f%.DEM DEMOS.INC TO %ZWL%%f%.COM
  177. IF ERRORLEVEL == 1 GOTO FEHLER
  178. IF NOT %1. == . GOTO ENDE
  179.  
  180. :PARMS
  181. SET f=PARMS
  182. ECHO. ********** Erstelle %ZWL%%f%.COM ...
  183. IF NOT EXIST %QWL%%f%.DEM GOTO FEHLER1
  184. A86 %d% %QWL%%f%.DEM DEMOS.INC TO %ZWL%%f%.COM
  185. IF ERRORLEVEL == 1 GOTO FEHLER
  186. IF NOT %1. == . GOTO ENDE
  187.  
  188. :PRINT
  189. SET f=PRINT
  190. ECHO. ********** Erstelle %ZWL%%f%.COM ...
  191. IF NOT EXIST %QWL%%f%.DEM GOTO FEHLER1
  192. A86 %d%  %QWL%%f%.DEM DEMOS.INC TO %ZWL%%f%.COM
  193. IF ERRORLEVEL == 1 GOTO FEHLER
  194. IF NOT %1. == . GOTO ENDE
  195.  
  196. :RECORDIO
  197. SET f=RECORDIO
  198. ECHO. ********** Erstelle %ZWL%%f%.COM ...
  199. IF NOT EXIST %QWL%%f%.DEM GOTO FEHLER1
  200. A86 %d% %QWL%%f%.DEM DEMOS.INC TO %ZWL%%f%.COM
  201. IF ERRORLEVEL == 1 GOTO FEHLER
  202. IF NOT %1. == . GOTO ENDE
  203. GOTO ENDE
  204.  
  205. :STACKS
  206. SET f=STACKS
  207. ECHO. ********** Erstelle %ZWL%%f%.COM ...
  208. IF NOT EXIST %QWL%%f%.DEM GOTO FEHLER1
  209. A86 %d% %QWL%%f%.MAB %QWL%%f%.DEM DEMOS.INC TO %ZWL%%f%.COM
  210. IF ERRORLEVEL == 1 GOTO FEHLER
  211. IF NOT %1. == . GOTO ENDE
  212.  
  213. :STRINGS1
  214. SET f=STRINGS1
  215. ECHO. ********** Erstelle %ZWL%%f%.COM ...
  216. IF NOT EXIST %QWL%%f%.DEM GOTO FEHLER1
  217. A86 %d% %QWL%%f%.DEM DEMOS.INC TO %ZWL%%f%.COM
  218. IF ERRORLEVEL == 1 GOTO FEHLER
  219. IF NOT %1. == . GOTO ENDE
  220.  
  221. :TEXTIO
  222. SET f=TEXTIO
  223. ECHO. ********** Erstelle %ZWL%%f%.COM ...
  224. IF NOT EXIST %QWL%%f%.DEM GOTO FEHLER1
  225. A86 %d% %QWL%%f%.DEM DEMOS.INC TO %ZWL%%f%.COM
  226. IF ERRORLEVEL == 1 GOTO FEHLER
  227. IF NOT %1. == . GOTO ENDE
  228.  
  229. :HELP
  230. :?
  231. :-?
  232. :/?
  233. ECHO.
  234. ECHO. MKDEMOS - Compilieren eines oder mehrerer Demos aus Lib4A86
  235. ECHO.
  236. ECHO. Aufruf:  MKDEMOS 
  237. ECHO.          -- Compilieren ALLER Demos
  238. ECHO.
  239. ECHO.          MKDEMOS name1 {name2} {...}
  240. ECHO.          -- Compilieren der angegebenen Demos,
  241. ECHO.             name# = Name der zu compilierenden Demos ohne Pfad und Extension.
  242. ECHO. Hinweise:
  243. ECHO. -  Alle beötigten .DEM- und .MAB-Dateien und die Datei DEMOS.INC müssen im
  244. ECHO.    aktuellen Directory oder im Directory dessen Name in der Environment-
  245. ECHO.    Variablen QWL steht (falls diese deklariert ist) sein.
  246. ECHO.    (Der akt. Inhalt der Variable QWL ist: »%QWL%«)
  247. ECHO. -  Falls die Environment-Variable A86 definiert ist, muß die Datei MACROS.MAC
  248. ECHO.    dort deklariert sein.
  249. ECHO.    (Der akt. Inhalt der Variable A86 ist: »%A86%«)
  250. ECHO. -  Die .COM-Dateien werden ins aktuelle Directory oder ins Directory dessen
  251. ECHO.    Name in der Environment-Variablen ZWL steht (falls diese deklariert ist)
  252. ECHO.    geschrieben. (Der akt. Inhalt der Variable ZWL ist: »%ZWL%«)
  253. ECHO. -  Der Inhalt der Variablen ZWL und QWL muß, falls vorhanden mit dem Zeichen
  254. ECHO.    '\' oder ':' enden.
  255. ECHO. -  Die .LIB- und .BIB-Dateien müssen über eine A86.LIB-Datei erreichbar sein!
  256. GOTO ENDE
  257.  
  258. :ENVFEHLER
  259. ECHO.
  260. ECHO. Der freie Speicher im Environment reicht nicht zur Ausführung dieser
  261. ECHO. Datei. Bitte den COMMAND.COM mit dem Parameter /e:nnn neustarten
  262. ECHO. und die Datei nochmal ausführen oder aber MKDEMOS folgendermaßen
  263. ECHO. aufrufen:
  264. ECHO.
  265. ECHO.      COMMAND /E:nnnn /C MKDEMOS {parameter}
  266. ECHO.
  267. ECHO. wobei nnnn die Größe des Environments in Byte ist (nnnn sollte
  268. ECHO. etwa 1024 oder größer sein)
  269. ECHO. (siehe auch DOS-Handbuch)
  270. ECHO.
  271. GOTO ENDE1
  272.  
  273. :FEHLER1
  274. :%f%
  275. ECHO.
  276. ECHO.%QWL%%f%.DEM nicht gefunden!
  277. ECHO.
  278. ECHO Bitte eine Taste drücken (CTRL-C für Abbruch) ...
  279. PAUSE >NUL
  280. GOTO ENDE
  281.  
  282. :FEHLER
  283. ECHO.
  284. ECHO. Fehler beim Erstellen von %QZL%%f%.COM!
  285. ECHO.
  286. IF %w%. == ALL. GOTO ENDE
  287. ECHO. Bitte eine Taste drücken (CTRL-C für Abbruch) ...
  288. PAUSE >NUL
  289.  
  290. :ENDE
  291. SHIFT
  292. IF NOT %1. == . GOTO LOOP
  293.  
  294. :ENDE1
  295. REM Variablen wieder löschen ...
  296. SET d=
  297. SET f=
  298. SET c=
  299. SET w=
  300.  
  301.